home *** CD-ROM | disk | FTP | other *** search
- ; *****************************************************************
- ; * *
- ; * PPE-Script V 1.70 (11-01-94) *
- ; * *
- ; * Written in PPL 3.0 for PCBoard 15.2 *
- ; * *
- ; * Designed By: Gary Meeker *
- ; * *
- ; * Began development: 06-23-93 *
- ; * *
- ; *****************************************************************
-
- PPE-Script is a control file driven PPE for use a LOGON/LOGOFF/NEWASK script
- or for any of the Script Questionnaires. It could also be attached as a
- command or possibly any other place you can use a .PPE file. (let us know if
- you come up with a different useful place to run it from.)
-
- When used as a LOGON/LOGOFF/NEWASK questionnaire, you should copy PPE-SCR.PPE
- to LOGON.PPE/LOGOFF.PPE/NEWASK.PPE as it is not possible to have a command
- line argument to specify the Configuration file to be used. When no command
- line argument is present then the path\name of the .PPE is used with .CNF
- as the file extension. A Configuration file is mandatory and you must have
- one for each script you want to run (but not sub-scripts). Below is an
- example of the program used as the New Reg Quest. having been renamed to
- NEWASK.PPE and NEWASK.CNF resides in the same directory as the PPE.
-
- File Locations
- NewUser/Logon/Logoff Questionnaires
-
- Name/Loc of New Reg Questionnaire : C:\PCB\PPE\NEWASK.PPE
- Name/Loc of Answers to New Reg. : C:\PCB\MAIN\NEWREG
-
- Name/Loc of Logon Script Quest. : C:\PCB\PPE\LOGON
- Name/Loc of Logon Script Answers :
-
- Name/Loc of Logoff Script Quest. : C:\PCB\PPE\LOGOFF
- Name/Loc of Logoff Script Answers :
-
- NOTE: You must also set the following to YES or it will not work!:
-
- Configuration Options
- System Control
-
- Use NEWASK+Standard Questions : Y
-
-
- Config File Format
- ------------------
-
- There are 16 lines in the configuration file (see example file).
-
- 1: Sysop Name
-
- This is the information shown as registration name.
-
- 2: Board Name
-
- This is the information shown as registration board and should be entered
- the same as it appears on line 94 of your PCBOARD.DAT file.
-
- 3: Registration Number (or blank)
-
- If registered, place your number here to remove the delay on
- unregistered versions.
-
- 4: Welcome Screen to be displayed (Filename)
-
- The Drive:\Path\FileName of the file to be displayed prior to the User
- being asked if they wish to answer the script.
-
- 5: Max Attempts; Min Sec Level; Max Sec Level; Refused Level ;Exp Level;
- Exp Days; Adjustment to Total Files; Adjustment to Total Bytes;
- Adjustment to Daily Download Bytes; Adjustment to Time for Today;
- Conference List;Expired Conference List
-
- This line contains 12 parts:
-
- Max Attempts: The number of times the user will be allowed to fail to
- answer a question. If left blank the default will be 3.
-
- Min Sec level, Max Sec Level: If the Users level is outside this range
- they will be shown the text on line 8 and the script will be halted.
-
- Refused Level: This is the level given to the User if they choose not
- to answer the script. Leave blank if you do not wish to change the level.
-
- Exp Level: This is the exp level given to the User if they choose not
- to answer the script. Leave blank if you do not wish to change the level.
-
- Exp Days: This is the number of days till expiration given to the User
- if they choose not to answer the script. Leave blank if you do not wish
- to change the level.
-
- Adjustment to Total Files: This is an adjustment to the Total files
- the User has downloaded if they choose not to answer the script and
- may be a negative value. If set to 'X' the value will be zeroed.
-
- Adjustment to Total Bytes: This is an adjustment to the Total bytes
- the User has downloaded if they choose not to answer the script and
- may be a negative value. If set to 'X' the value will be zeroed.
-
- Adjustment to Daily Download Bytes: This is an adjustment to the number
- of bytes the user has download today if they choose not to answer the
- script and may be a negative value. If set to 'X' the value will be zeroed.
-
- Adjustment to Time for Today: This is an adjustment to Today's time limit
- if they choose not to answer the script and may be a negative value.
-
- Conference List: This is a list of conferences to register the User in
- and may include ranges. (ie. 1-10,15,17,20-39)
-
- Expired Conference List: This is a list of conferences to register the
- User in when they expire and may include ranges. (ie. 1-10,15,17,20-39)
-
- 6: Age Source; Sex Source; Position; SexAnswers
-
- This line contains 4 parts:
-
- Age/Sex Source: 0 = None (Have to ask Question to get it)
- 1 = User Comment Field
- 2 = Sysop Comment Field
- 3 = Verify PSA Field
- 4 = Notes 1 PSA Field
- 5 = Notes 2 PSA Field
- 6 = Notes 3 PSA Field
- 7 = Notes 4 PSA Field
- 8 = Notes 5 PSA Field
- 9 = Addr 1 PSA Field
- 10 = Addr 2 PSA Field
- 11 = Addr 3 PSA Field
- 12 = Addr 4 PSA Field
- 13 = Addr 5 PSA Field
- 14 = Addr 5 PSA Field
-
- Position: Character within string at which Sex is stored
- (The Date of Birth must be at position 1 to obtain
- the age, so no position is needed.)
-
- SexAnswers: The Answers allowed for Sex, if left blank the default
- of 'MF' is used. This allows for multi-language support.
-
- 7: Log changes to CALLERS file; Write Questions to Answer file; Write "Q: "
- & "A: " to Answer File; Write Skipped questions to the Answer file;
- Question Color; Answer Color; Jump Backwards
-
- This line contains 7 parts:
-
- Log changes to CALLERS file: 1 for Yes, 0 for No. If set to YES then
- changes to Security Level or Conference Registrations will be
- logged to the CALLERx file.
-
- Write Questions to Answer file: 1 for Yes, 0 for No. If set to YES the
- questions will be written to the Answer file.
-
- Write "Q: " & "A: " to Answer File: 1 for Yes, 0 for No. If set to YES
- the questions and answers will be preceded by this text.
-
- Write Skipped questions to the Answer file: 1 for Yes, 0 for No. If set
- to YES then Questions (if Write Questions to Answer file is Yes) and
- an answer of '[N/A]' will be written to the Answer file to maintain
- a consistent length for every questionnaire (especially useful if
- not writing the questions to the file).
-
- Question Color: The Color to use for the questions. If left blank the
- default color will be used. The value may be given in decimal
- or or using PCBoards #Xnn codes.
-
- Answer Color: The Color to use for the answers. If left blank the
- default color will be used. The value may be given in decimal
- or or using PCBoards #Xnn codes.
-
- Jump Backwards: 1 for Yes, 0 for No. If set to Yes then the search for
- labels will begin at the start of the file allowing jumping backwards,
- otherwise the search will start at the next line (allowing the same
- label name to be reused if you want).
-
- 8: Use 'Min='; Use '==--' display; Issue NewLine; 'Min=' Color;
- '=' Guide Color; '-' Guide Color
-
- This line contains 6 parts:
-
- Use 'Min=': 1 for Yes, 0 for No. If set to YES the minimum size will
- be displayed to the user.
-
- Use '==--' display: 1 for Yes, 0 for No. If set to YES the guide will
- be displayed showing minimum size as '=' and '-' as field length.
-
- Issue NewLine: 1 for Yes, 0 for No. If set to YES then a NEWLINE will
- be issued after each question (an extra blank line like PCBoard).
-
- 'Min=' Color: The Color to use for the 'Min=' text. If left blank the
- default color will be used.
-
- '=' Guide Color: The Color to use for the '=' guide. If left blank the
-
- '-' Guide Color: The Color to use for the '-' guide. If left blank the
- default color will be used.
-
- 9: Text to display if not allowed to answer Script due to security level
- (%Filename allowed)
-
- If the security range of the User is outside the range defined in line
- 4, then this text will be displayed. You may use PCBoard's %filespec to
- display a file here.
-
- 10: Prompt to ask for continuing
-
- This is the prompt to display to the User asking if they want to answer
- the script. If left blank, they will be forced to answer the script.
-
- 11: Text to display after completing Script (%Filename allowed)
-
- This text will be displayed to the User after completing the script.
- You may use PCBoard's %filespec to display a file here.
-
- 12: Path for Script Files
-
- This is the Drive:\Path\ spec for the location of the Script files.
- If left blank then the path of the PPE will be used.
-
- 13: Beginning Script File
-
- This is the FILENAME.EXT of the starting script. (no path)
-
- 14: Answer file (if not installed as NEWASK/LOGON/LOGOFF or a Script)
-
- This is the FILENAME.EXT of the answer file. If this is used
- as a NEWASK/LOGON/LOGOFF or a Script then this line should be blank
- and the default file will be used as setup under PCBSETUP.
-
- 15: Message file
-
- This is the FILENAME.EXT of the message file. If this is not blank
- then the file will be opened and the Questions and Answers will be
- written to this file as well as the normal answer file to allow sending
- the file as a message to the Sysop. The file will be deleted at the
- end of the script.
-
- 16: Caller ID Information
-
- Search;Private;Outside;CallerIDLogFile;HexFormat
-
- This line contains 4 parts:
-
- 1) Search Text:
-
- This is the text to search for in order to find the phone number
- Supra: "NMBR = "
- ZyXEL: "NUMBER: "
-
- You may also directly place the numeric value of the position of
- the number in this field.
-
- Note: do not include the quotes ("). They are shown only for
- clarity. To include a space at the end of the search string
- as shown, use ALT-255 in place of a space.
-
- 2) Private
-
- Private is the character that indicates a Private Number.
- usually P (will default to P if left blank)
-
- 3) Outside
-
- Outside is the character that indicates a Long Distance Number.
- usually O (will default to O if left blank)
-
- 4) Caller ID Log File
-
- This is the FILENAME.EXT of the Caller ID Log file. If this is not
- blank it will be used to append the Caller ID data when using the
- Caller ID Test command.
-
- 5) HexFormat
-
- HexFormat is a flag to indicate the phone number is in Hex and
- needs to be converted (such as in Canada)
-
- Script.Dat Format
- -----------------
-
- The SCRIPT.DAT control file is the key to the operation of PPE-Script and
- contains as many lines as you desire. There are 20 basic types of lines in
- the format as described below. The first character of the line defines the
- type of line. The first 19 types are single line entries. If the User is to
- be given a new level after answering the script then you must use at least
- on of the 'Register User' entries (probably as the last line). Branching
- from one script file to another is possible up to five levels deep and the
- script will be returned to when the file branched to is done.
-
- 1) Comment Logging
-
- Line used in .DAT file:
-
- >Comment Text
-
- The Text following the '>' will be written to the Answer file but not
- displayed to the User.
-
- 2) Comment Logging & Display
-
- Line used in .DAT file:
-
- &Comment Text
-
- The Text following the '&' will be written to the Answer file and
- displayed to the User.
-
- 3) Comment Display
-
- Line used in .DAT file:
-
- #Comment Text
-
- The Text following the '#' will be displayed to the User but not
- written to the Answer file.
-
- 4) Caller File Logging
-
- Line used in .DAT file:
-
- @Log Text
-
- The Text following the '@' will be written to the Caller Log file
- but not written to the Answer file or displayed to the User.
-
- 5) File Display
-
- Line used in .DAT file:
-
- %Drive:\Path\FileName.ext
-
- The file is displayed via DISPFILE so if you do not include an extension
- PCBoard will display a Security Level/Graphics/Language appropriately.
-
-
- 6) Register User
-
- Line used in .DAT file: (contains 11 fields)
-
- R; ;50;40;365; ; ; ; ;Conference List;Expired Conference List
- | | | | | | | | | ^--- as described below
- | | | | | | | | ^--- as described below
- | | | | | | | ^--- Adjustment to Time for Today
- | | | | | | ^--- Adjustment to Daily Download Bytes ('X' to Zero)
- | | | | | ^--- Adjustment to Total Bytes Downloaded ('X' to Zero)
- | | | | ^--- Adjustment to Total Files Downloaded ('X' to Zero)
- | | | ^--- Days till expired to assign
- | | ^--- Expired Level to assign
- | ^--- Security Level to assign
- ^--- Register if:
- Blank: Always
- 1: Last answer was TRUE (YES, Male, or within range)
- 2: Last answer was FALSE (NO, Female or NOT within range)
- 3: No failed answers (User refused to answer a question)
- 4: Last Answer was TRUE & No Failed Answers
- 5: Last Answer was FALSE & No Failed Answers
-
- The Conference List entries are the conferences to register the
- User in and may include ranges. (ie. 1-10,15,17,20-39)
-
- 7) Indirect Register User
-
- Line used in .DAT file: (contains 3 (or 12) fields)
-
- I; ;filename.ext;(default information, 9 fields)
- | ^--- File to read for the above registration information
- ^--- Register if:
- 128,Blank: Always
- 129,1: Last answer was TRUE (YES, Male, or within range)
- 130,2: Last answer was FALSE (NO, Female or NOT within range)
- 131,3: No failed answers (User refused to answer a question)
-
- In Indirect registration, the filename specified is read to obtain the
- registration information. The information takes the same format as in
- Register User starting with the 'Security Level to assign' field. You
- may also include default information after the filename to be used in
- the event that the line read is blank.
-
- When using 128-131 then PPE-Script will read the line number from
- the file based on the last numeric answer. This is useful for menu
- selections or errorlevels returned by external programs.
-
- 8) Message
-
- Line used in .DAT file: (contains 9 fields)
-
- M;0;SYSOP; ;NEW USER;R;0;0;0;FileName
- | | | | | | | | ^--- Filename to use for the message text
- | | | | | | | ^--- TRUE if message should be echoed
- | | | | | | ^--- TRUE if return receipt desired
- | | | | | ^--- Pack out date (0 for no pack out date)
- | | | | ^--- Security (N or R; N is the default)
- | | | ^--- Subject
- | | ^--- From user (empty string defaults to current caller)
- | ^--- To user (empty string defaults to current caller)
- ^--- Conference Number
-
- Allows sending message to User or to Sysop (or anyone else). If the
- filename is blank and you specified a message file in the .CNF file,
- you can send the Users answers to the Sysop.
-
- 9) Join Conference
-
- Line used in .DAT file:
-
- J;12
- ^--- The conference to place the User in.
-
- This will place the User in a specific conference (via LASTIN).
-
- 10) Branch to New Script (will return to this Script)
-
- Line used in .DAT file: (contains 5 fields)
-
- B;4;5;9;NEXT.DAT;DENIED.DAT
- | | | | ^--- Script to run if Test is FALSE
- | | | | (NO, Female or NOT within range)
- | | | ^--- Script to run if Test is TRUE
- | | | (YES, Male, or within range)
- | | ^--- Maximum (if type 2, 4, 5 or 6 else ignored)
- | ^--- Minimum (if type 2, 4, 5 or 6 else ignored)
- ^--- Type of Test:
- Blank: Always true
- 1: Last Question
- 2: Age Range (use Minimum/Maximum)
- 3: Sex
- 4: Security Level (use Minimum/Maximum)
- 5: Times On the System (use Minimum/Maximum)
- 6: Last Question from Numeric Question (use Minimum/Maximum)
-
- 11) CALL another .PPE
-
- Line used in .DAT file: (contains 5 fields)
-
- C;4;5;9;NEXT.PPE;Command Line
- | | | | ^--- Command line for program
- | | | ^--- PPE to call if Test is TRUE
- | | | (YES, Male, or within range)
- | | ^--- Maximum (if type 2, 4, 5 or 6 else ignored)
- | ^--- Minimum (if type 2, 4, 5 or 6 else ignored)
- ^--- Type of Test:
- Blank: Always true
- 1, 129: Last Question
- 2, 130: Age Range (use Minimum/Maximum)
- 3, 131: Sex
- 4, 132: Security Level (use Minimum/Maximum)
- 5, 133: Times On the System (use Minimum/Maximum)
- 6, 134: Last Question from Numeric Question (use Minimum/Maximum)
-
- Note: Two values are shown for each of the selections above. The first
- set (1 - 6), indicates the Call is made if the test is True.
- the second (129 - 134) indicates the Call is made if the test
- is False (or in the case of Sex if the User is Female). ie:
-
- C;132;5;9;NEXT.PPE;Command Line
- | ^--- Command line for program
- ^--- PPE to call if Test is FALSE
- (NO, Female, or NOT within range)
-
- The PPE will be called if the Users security level is less
- than 5 or greater than 9, just the opposite of the first
- example given.
-
- 12) SHELL to external program
-
- Line used in .DAT file: (contains 5 fields)
-
- S;4;5;9;NEXT.EXE;Command Line
- | | | | ^--- Command line for program
- | | | ^--- Program to execute if Test is TRUE
- | | | (YES, Male, or within range)
- | | ^--- Maximum (if type 2, 4, 5 or 6 else ignored)
- | ^--- Minimum (if type 2, 4, 5 or 6 else ignored)
- ^--- Type of Test:
- Blank: Always true
- 1, 129: Last Question
- 2, 130: Age Range (use Minimum/Maximum)
- 3, 131: Sex
- 4, 132: Security Level (use Minimum/Maximum)
- 5, 133: Times On the System (use Minimum/Maximum)
- 6, 134: Last Question from Numeric Question (use Minimum/Maximum)
-
- Note: Two values are shown for each of the selections above. The first
- set (1 - 6), indicates the Shell is made if the test is True.
- the second (129 - 134) indicates the Shell is made if the test
- is False (or in the case of Sex if the User is Female).
-
- The full Drive:\Path of the .EXE will be required if it is not in
- the current directory. Selling is not done via COMMAND.COM in order
- to return the error code of the program executed.
-
- The error code returned by the program will be stuffed into the
- Last Question Numeric Answer variable to be acted upon by further
- Branch, Call & Shell commands.
-
- WRUSYS is executed before SHELLing and RDUSYS is executed after
- return to PPE-Script allowing the executed program to modify
- USERS.SYS or PCBOARD.SYS and have the changes accepted.
-
- 13) Write to Users File
-
- Line used in .DAT file: (contains 5 fields)
-
- W;2;01;20;NEXT.DAT;DENIED.DAT
- | | | | ^--- Script to run if Test is FALSE
- | | | | (NO, Female or NOT within range)
- | | | ^--- Script to run if Test is TRUE
- | | | (YES, Male, or within range)
- | | ^--- Number of characters to write
- | ^--- Position to start writing
- ^--- Write to:
- Blank: Ignored
- 1: User Comment Field
- 2: Sysop Comment Field
- 3: Verification Field
- 4: Note(1) Field
- 5: Note(2) Field
- 6: Note(3) Field
- 7: Note(4) Field
- 8: Note(5) Field
- 9: Addr(0) Field
- 10: Addr(1) Field
- 11: Addr(2) Field
- 12: Addr(3) Field
- 13: Addr(4) Field
- 14: Addr(5) Field
-
- This is used to write the Last Answer into the Users record at the
- selected field. Data already in the field will remain and only the
- portion specified will be overwritten. This allows combining several
- answers into a single field.
-
- NOTE: If you wish to write the result of a question that will branch
- to another script or uses [SKIP], [STOP], etc. then you should
- not use the fields in the question to perform the branching but
- instead use the fields provided in the 'W' command itself.
-
- Example:
-
- ?Are you the SYSOP of a BBS? (y/N)
- Y;1;;;N;;;[SKIP]
- W;2;3;1;;
-
- In this case, if the User answers No, then nothing will be written
- to the Users file because the 'W' command will be skipped. Only if
- the User answers Yes will anything be written to the Users file.
-
- ?Are you the SYSOP of a BBS? (y/N)
- Y;1;;;N;;;
- W;2;3;1;;[SKIP]
-
- By moving the script data to the 'W' command line, the Users answer
- will be written to the Users file no matter what they answer and
- the script will then branch according to the last question (the 'W'
- command does not change the result of the last answer in any way.)
-
- 14) Set Default Answer
-
- Line used in .DAT file: (contains 3 fields)
-
- D;2;01;20
- | | ^--- Number of characters to read
- | ^--- Position to start reading
- ^--- Read From:
- Blank: Ignored
- 1: User Comment Field
- 2: Sysop Comment Field
- 3: Verification Field
- 4: Note(1) Field
- 5: Note(2) Field
- 6: Note(3) Field
- 7: Note(4) Field
- 8: Note(5) Field
- 9: Addr(0) Field
- 10: Addr(1) Field
- 11: Addr(2) Field
- 12: Addr(3) Field
- 13: Addr(4) Field
- 14: Addr(5) Field
-
- This is used to read a Default Answer from the Users record at the
- selected field.
-
- D;2;3;1
- ?Are you the SYSOP of a BBS? (y/n)
- Y;1;;;;;;
- W;2;3;1;;[SKIP]
-
- This will read the data from the Users file to be used as the default
- to the question. This allows using PPE-Script to maintain data in the
- Users file allowing the User to change previously set data.
-
- NOTE: Default Answers specified in the .DAT will be ignored when using
- this feature (only on the question involved).
-
- 15) Test User Field
-
- Line used in .DAT file: (contains 4 fields)
-
- T;1;SPECIAL.LST;NEXT.DAT;DENIED.DAT
- | | | ^--- Script to run if Match not found
- | | ^--- Script to run if Match is found
- | ^--- The list of words to check field for
- ^--- Field to Test:
- Blank: Ignored
- 1: User Comment Field
- 2: Sysop Comment Field
- 3: Verification Field
- 4: Note(1) Field
- 5: Note(2) Field
- 6: Note(3) Field
- 7: Note(4) Field
- 8: Note(5) Field
- 9: Addr(0) Field
- 10: Addr(1) Field
- 11: Addr(2) Field
- 12: Addr(3) Field
- 13: Addr(4) Field
- 14: Addr(5) Field
- 15: User Name Field
- 16: User Alias Field
- 17: User Password Field
- 18: User City/State Field
- 19: User Bus/Data Phone
- 20: User Home/Voice Phone
-
- 16) Stop Skipping Questions
-
- Line used in .DAT file:
-
- $
-
- The single character '$' is all that is needed. If a portion of the
- .DAT file is being skipped, this will stop the skipping and the rest
- of the .DAT file will continue processing again.
-
- 17) Label
-
- Line used in .DAT file:
-
- :LabelName
-
- This allows skipping a portion of the .DAT file, and stop at a
- specific label. This will stop the skipping and the rest of the .DAT
- file will continue processing again if the LabelName specified
- matches the text issued in the special ScriptName
-
- Example:
-
- ?Are you the SYSOP of a BBS? (y/N)
- Y;1;;;N;;;[SKIP]
- ?BBS Software - Brand and version?
- T;4;60;;;PCB.LST;;[NOT_PCB]
- #So, you're running PCBoard you say.
- :NOT_PCB
- #Thanks for being a Sysop
- $
- #That's all!
-
- Answering No will skip to the '$' ignoring the label. Answering Yes
- will result in asking the second question and the skipping the comment
- if the answer does not match the data in the PCB.LST file.
-
- 18) Pause log file
-
- Line used in .DAT file:
-
- P;1
- ^--- 0: Continue
- 1: Pause
-
- This allows asking questions that do not get written to the log file
- (neither do the answers).
-
- 19) Caller ID Testing
-
- Line used in .DAT file: (contains 6 fields)
-
- !;0;ListFile;PrivScript;LDScript;YesScript;NoScript
- | | | | | ^--- Script to run if not in list
- | | | | ^--- Script to run if in list
- | | | ^--- Script to run if Outside Area
- | | ^--- Script to run if CID Blocked
- | ^--- List of phone numbers to check
- ^---0: Log Caller ID if not in list
- 1: Log Caller ID if in list
- 2: Don't Log Caller ID at all
-
- This allows checking the Caller ID information (provided you have a
- modem capable of supplying it to PCBoard)
-
- If a Valid Caller ID is found the LastAnswer will be TRUE, if not or
- the call is Outside the Area or Blocked then LastAnswer will be FALSE.
-
- The List File could be a list of numbers to be blocked or a list of
- numbers to be given special access. This list must contain numbers
- formatted as AAA-EEE-NNNN to match the Caller ID information.
-
- This is expected to be followed by a Registration command line but
- fell free to use it anyway you see fit.
-
- 20) Questions (requires a second line)
-
- The first Line starts with a '?' and any Text following the '?' is
- the Question to ask.
-
- The Second Line controls the type of question and contain 6 parts:
-
- Part 1: This is the type of input to accept. The testing is done
- character by character. Control and drawing characters are
- filtered out in any type. The following types are accepted:
-
- Code Input Type Validation Characters Accepted
- ---- ---------------- ----------- ---------------------------
- T Text .LST file Everything " " to "~" and 128 to 255
- Tx Controlled Text .LST file x = Control Type(s)
- E = Everything ASCII " " to "~"
- A = Alpha A-Z & a-z
- N = Numeric 0-9
- S = Space " "
- M = Money 0-9, ".", "$"
- . = Punctuation ".", ",", ";", ":"
- P = Phone 0-9,-,+,(,),[,],Space
- + = Sign "+", "-"
- ^ = literal (next character)
- P Phone Numbers Min Length 0-9,-,+,(,),[,]
- S Sex Min Length Single Character (M,F,Space)
- D Date VALDATE 0-9,-,/
- B BirthDate VALDATE 0-9,-,/
- C Credit Card VALCC 0-9,SPACE,-
- N Numeric Min/Max 0-9
- Y Yes/No None Single Character (Y or N)
- A Age None 0-9
- V Verification Min Length ASCII
-
- Part 2: This is the MINIMUM length of an answer to accept.
- On BirthDate Questions: Minimum Age
- On Numeric Questions: Minimum Answer
-
- Part 3: This is the MAXIMUM length of the answer. The overall maximum
- length is set at 60 characters, to conform to PCBoard Script
- questionnaires. If you select a length greater than 60, it
- will be set to 60.
- On Yes/No, Sex, Date, Phone Number or Age Questions: Ignored
- On BirthDate Questions: Maximum Age
- On Numeric Questions: Maximum Answer
-
- Part 4: On Text or Numeric Questions: InputFlags
- 0001h = echo dots instead of user input
- 0002h = displays parenthesis to show input field width if
- ANSI enabled. When not selected or in NON-ANSI
- mode, parenthesis are placed around the '==--'
- display field on the line above.
- 0004h = displays parenthesis above current line if FIELDLEN
- used and ANSI not enabled, this is overridden when
- Use '==--' display is enabled to eliminate the
- duplicate effort.
- 0008h = force user input to upper case
- 0010h = allow semi-colons and spaces in addition to valid
- character set passed
- 0020h = erase the current line when user presses enter
- 0040h = send a line feed after user presses enter
- 0080h = send an extra line feed before prompt display
- 0100h = send an extra line feed after user presses enter
- 0200h = if user hits end of line, save the text at the end of
- the line for future use
- 0400h = don't clear field at first keypress regardless of ANSI
- 0800h = ?
- 1000h = allow high ascii characters, regardless of current valid
- character set, if disable high ascii filter set to yes
- 2000h = Automatically press enter after 10 seconds of no user input
- 4000h = Only allow international yes/no responses
- Default = 0046h
- On Date or BirthDate: If non-blank then No Answer is required
- On Yes/No, Sex, Credit Card, Phone Number or Age Questions: Ignored
-
- Part 5: A default answer (if any)
-
- Part 6: On Text Questions: The .LST file to examine
- On Birthdate Questions: The sex required to run the script
- On Sex Questions: The answers allowed for Question
- All other Questions: Ignored
-
- Part 7: On Text Questions: The Script to run if text in .LST file in answer
- On Yes/No Questions: The Script to run if the answer is YES
- On Birthdate Questions: The Script to run if within Age Limits
- On Sex Questions: The Script to run if Male
- On Numeric Questions: The Script to run if within Numeric Range
- On Date, Phone Number or Credit Card Questions: Ignored
- On Age Questions: The Script to run if Age matches BirthDate
- On Verification Questions: Script to run if verification matches
-
- Part 8: On Text Questions: The Script to run if text in .LST file NOT in answer
- On Yes/No Questions: The Script to run if the answer is NO
- On Birthdate Questions: The Script to run if NOT within Age Limits
- On Sex Questions: The Script to run if Female
- On Numeric Questions: The Script to run if NOT within Numeric Range
- On Date, Phone Number or Credit Card Questions: Ignored
- On Age Questions: The Script to run if Age does not match BirthDate
- On Verification Questions: Script to run if verification fails
-
-
- Example Lines used in .DAT file:
-
- 20a) Text
-
- ?What is your Computer system?
- T;3;40
- | | ^--- Maximum Length (60 if blank)
- | ^--- Minimum Length (0 if blank)
- ^--- Type of input testing (None - any ASCII Character)
-
- 20b) Text (restricted characters)
-
- ?What is your occupation?
- TAS;5;40; ; ;JOBS.LST;HIRING.DAT;
- | | | | | | | ^--- The Script to run if a word
- | | | | | | | match is NOT found
- | | | | | | ^--- The Script to run if a word match is found
- | | | | | ^--- The list of words to check answer for
- | | | | ^--- No Default Answer
- | | | ^--- Default(46h) input flags
- | | ^--- Maximum Length (60 if blank)
- | ^--- Minimum Length (0 if blank)
- ^--- Type of input testing (Alpha A-Z, a-z and SPACE only)
-
- ?What is the Disk Storage capacity on your System
- TASN;2;20;004Eh;20 Megs
- | | | | ^--- Default Answer
- | | | ^--- Default(46h) input flags + Force Uppercase
- | | ^--- Maximum Length (60 if blank)
- | ^--- Minimum Length (0 if blank)
- ^--- Type of input testing (Alpha A-Z, a-z, 0-9 and SPACE only)
-
- 20c) Credit Card
-
- ?Enter Credit Card Number
- C;1; ; ;
- | | | | ^--- Default Answer
- | | | ^--- N/A
- | | ^--- N/A
- | ^--- Minimum Length (0 if blank)
- ^--- Type of input testing (Alpha A-Z, a-z and SPACE only)
-
- 20d) Date
-
- ?Enter the date you started computing (mm/dd/yy)
- D; ; ; ;
- | | | | ^--- Default Answer
- | | | ^--- If Non-Blank then No Answer required
- | | ^--- N/A
- | ^--- N/A
- ^--- Type of input testing (Alpha A-Z, a-z and SPACE only)
-
- 20e) BirthDate
-
- ?What is your birth date (mm/dd/yy)
- B;21; ; ; ; ;ADULT.DAT;KID.DAT
- | | | | | | | ^--- Script to run if NOT within Age range
- | | | | | | ^--- Script to run if within Age range
- | | | | | ^--- Sex required to run either Script
- | | | | ^--- Default Answer
- | | | ^--- If Non-Blank then No Answer required
- | | ^--- Maximum Age Limit (255 if blank)
- | ^--- Minimum Age Limit (0 if blank)
- ^--- Type of input testing
-
- 20f) Numeric
-
- ?Enter a number from 1 to 9
- N;1;9; ; ; ;SMART.DAT;STUPID.DAT
- | | | | | | | ^--- Script to run if NOT within range
- | | | | | | ^--- Script to run if within range
- | | | | | ^--- If Blank Answer must be in range, else anything allowed
- | | | | ^--- No Default Answer
- | | | ^--- N/A
- | | ^--- Maximum
- | ^--- Minimum
- ^--- Type of input testing
-
- 20g) Phone Numbers
-
- ?What is the number of your BBS
- P;1; ; ;
- | | | | ^--- Default Answer
- | | | ^--- Default(46h) input flags
- | | ^--- N/A
- | ^--- Minimum Length (0 if blank)
- ^--- Type of input testing
-
- 20h) Yes/No
-
- ?Are you a Sysop
- Y;1; ; ; ; ;SYSOP.DAT;USER.DAT
- | | | | | | | ^--- Script to run if No
- | | | | | | ^--- Script to run if Yes
- | | | | | ^--- Responses available (Blank = YESCHAR()+NOCHAR())
- | | | | ^--- Default Answer
- | | | ^--- N/A
- | | ^--- N/A
- | ^--- Minimum Length (0 if blank)
- ^--- Type of input testing
-
- 20i) Sex
-
- ?What is your gender (m/f)
- S;1; ; ; ; ;MALE.DAT;FEMALE.DAT
- | | | | | | | ^--- Script to run if Female
- | | | | | | ^--- Script to run if Male
- | | | | | ^--- Responses available (Blank = Default from Config)
- | | | | ^--- Default Answer
- | | | ^--- Default(46h) input flags
- | | ^--- N/A
- | ^--- Minimum Length (0 if blank)
- ^--- Type of input testing
-
- 20j) Age
-
- ?What is your age
- A;1; ; ; ; ;MATCHED.DAT;LIED.DAT
- | | | | | | | ^--- Script to run if BirthDate age is different
- | | | | | | ^--- Script to run BirthDate age matches
- | | | | | ^--- If Non-Blank then No Answer required
- | | | | ^--- Default Answer
- | | | ^--- N/A
- | | ^--- N/A
- | ^--- Minimum Length (0 if blank)
- ^--- Type of input testing
-
- 20k) Verification
-
- ?
- V;1; ; ; ; ;MATCHED.DAT;LIED.DAT
- | | | | | | | ^--- Script to run if verification fails
- | | | | | | ^--- Script to run if verification matches
- | | | | | ^--- If Non-Blank then No Answer required
- | | | | ^--- Default Answer
- | | | ^--- Default(46h) input flags
- | | ^--- Maximum Length (25 if blank)
- | ^--- Minimum Length (0 if blank)
- ^--- Type of input testing
-
- If Question is blank then PCBTEXT entry #707 is used.
-
- Special Script File Name Actions:
- "[STOP]" : Stop the current Script and return to previous level
- "[END]" : Stop the current Script and all previous levels
- "[SKIP]" : Skip any remaining Questions/Comments/DisplayFiles
- Write "N/A" as answers for any questions, write
- Questions if enabled (can be stopped before the end of
- the file by a "$" Stop Skipping to allow skipping a section)
- All 'Branch to new script' and 'Register User' lines will
- also be skipped. Only the current level will be skipped. If
- the end of the script is reached and processing returns
- to a previous level, Skipping will stop. The example file
- NEWASK.DAT that I use on my BBS shows 3 examples of using
- [SKIP] to skip sections of the questionnaire.
- "[SKIPALL]" : Same as SKIP but does not stop skipping when returning to a
- previous level, but can still be stopped by a '$' line.
-
- "[xxx]" : Same as SKIP but will Stop Skipping only at the Label
- that matches the text between the '[' & ']'.
- (Note: xxx represents whatever text you wish to use,
- noting also that STOP, END, SKIP & SKIPALL are reserved.)
- Note: If Jump Backwards is to YES in .CNF file, then the
- search for the label will start at the beginning of the file.
-
- When using a list file of matching words, the data listed on a line is
- checked for in the answer. If the data appears anywhere in the answer,
- then it is considered a match. If a line begins with an "*" then the
- remaining data on the line must exactly match the answer given to be
- considered a match. In all cases the match is case-insensitive.
-
- I've only had one other suggestion as to features (which was just added
- into version 1.20), so either no one is using the program or it fits the
- needs without any changes. If there is something that should be added,
- please let me know. I am planning on writing an editor to create/modify
- the .DAT files, as I know they can get complicated.
-
- This program is released as TRUSTWARE. If you use it, I trust you to send
- a donation of $5.00 to me. You can call up and get the registration number
- to remove the delay at anytime whether you have sent a donation or not.
-
- To register this program call:
-
- SHARP Technical Support Line BBS (404) 962-1788 and use the REG command to
- obtain your registration number. You need to sign on under your real name
- which MUST also be used on line 1 of the configuration file. You will also
- be asked to give the name of your board which MUST be entered exactly as it
- will appear on line 2 your configuration file(s).
-
- Send your $5.00 donation to:
-
- Gary Meeker
- 725-C Old Norcross Road
- Lawrenceville, GA 30245
-